import axios from 'axios';

//每个请求的拦截器方法不一样时可写多个
class AjaxRequest {
	constructor() {
		//开发环境还是上线
		this.baseURL = process.env.NODE_ENV === 'development'? '/api':'/'
		this.timeout = 2000;
	}
	request(config) {			//用户请求设置的方法
		const instance = axios.create({
			baseURL: this.baseURL,
			timeout: this.timeout
		});
		//设置请求拦截器
		instance.interceptors.request.use(config => {
			config.headers.a = 1;			//例如给响应头 添加自定义属性,不能随便加 要与后台一致 不然报跨域
			return config;
		},err => Promise.reject(err));
		//设置响应拦截器
		instance.interceptors.response.use(res => res.data, err => Promise.reject(err));
		return instance(config);
	}
}

export default new AjaxRequest();
